home *** CD-ROM | disk | FTP | other *** search
- opt o+,ow-
- ;*************************************************
- ;** BuildLongTable **
- ;** build for demonstrational purposes a **
- ;** MMU table using the long descriptors **
- ;** © 1998 THOR, Version 0.00 23.09.1998 **
- ;*************************************************
-
- include inc:exec_lib.asm
- include inc:macros.asm
-
- machine mc68030
-
- Start:
- move.l ExecBase,a6
- move.l #64*8+8+8+$f,d0
- moveq #1,d1
- jsr AllocMem(a6)
- tst.l d0
- beq.s .exit
- addq.l #7,d0
- addq.l #8,d0
- and.b #$f0,d0 ;round
-
- move.l d0,a2
- lea $10(a2),a1
- move.l #$7ffffc03,(a2)
- move.l a1,4(a2)
- lea Tables(pc),a0
- for.l #64*2,d1
- move.l (a0)+,(a1)+
- next d1
-
- lea SetURP(pc),a5
- jsr Supervisor(a6)
- .exit:
- moveq #0,d0
- rts
-
- SetURP:
- move.l a2,-(a7)
- move.l #$0000fc03,-(a7) ;Limit 0, next level is LONG
- pmove.d (a7),crp
- nop
- pflusha
- addq.l #8,a7
- rte
-
- Tables:
- dc.l $8001fc41,$00000000 ;map out the lowest 4K
- dc.l $7ffffc41,$00040000 ;chip memory maps plain
- dc.l $7ffffc41,$00080000
- dc.l $7ffffc41,$000c0000
- dc.l $7ffffc41,$00100000
- dc.l $7ffffc41,$00140000
- dc.l $7ffffc41,$00180000
- dc.l $7ffffc41,$001c0000 ;end of chip memory
- dc.l $7ffffc01,$00200000 ;start of fast memory
- dc.l $7ffffc01,$00240000
- dc.l $7ffffc01,$00280000
- dc.l $7ffffc01,$002c0000
- dc.l $7ffffc01,$00300000
- dc.l $7ffffc01,$00340000
- dc.l $7ffffc01,$00380000
- dc.l $7ffffc01,$003c0000
- dc.l $7ffffc01,$00400000
- dc.l $7ffffc01,$00440000
- dc.l $7ffffc01,$00480000
- dc.l $7ffffc01,$004c0000
- dc.l $7ffffc01,$00500000
- dc.l $7ffffc01,$00540000
- dc.l $7ffffc01,$00580000
- dc.l $7ffffc01,$005c0000
- dc.l $7ffffc01,$00600000
- dc.l $7ffffc01,$00640000
- dc.l $7ffffc01,$00680000
- dc.l $7ffffc01,$006c0000
- dc.l $7ffffc01,$00700000
- dc.l $7ffffc01,$00740000
- dc.l $7ffffc01,$00780000
- dc.l $7ffffc01,$007c0000
- dc.l $7ffffc01,$00800000
- dc.l $7ffffc01,$00840000
- dc.l $7ffffc01,$00880000
- dc.l $7ffffc01,$008c0000
- dc.l $7ffffc01,$00900000
- dc.l $7ffffc01,$00940000
- dc.l $7ffffc01,$00980000
- dc.l $7ffffc01,$009c0000 ;end of fast memory
- dc.l $7ffffc00,$00a00000 ;start of black space
- dc.l $7ffffc00,$00a40000
- dc.l $7ffffc00,$00a80000
- dc.l $7ffffc00,$00ac0000
- dc.l $7ffffc00,$00b00000
- dc.l $7ffffc00,$00b40000
- dc.l $7ffffc00,$00b80000
- dc.l $80f4fc41,$00bc0000 ;CIAs map in here
- dc.l $7ffffc00,$00c00000 ;start of ranger mem
- dc.l $7ffffc00,$00c40000
- dc.l $7ffffc00,$00c80000
- dc.l $7ffffc00,$00cc0000
- dc.l $7ffffc00,$00d00000
- dc.l $7ffffc00,$00d40000
- dc.l $7ffffc00,$00d80000
- dc.l $80fcfc41,$00dc0000 ;custom chips are here
- dc.l $7ffffc00,$00e00000 ;blank space
- dc.l $7ffffc00,$00e40000
- dc.l $007ffc41,$00e80000 ;Zorro-II-Boards
- dc.l $7ffffc00,$00ec0000 ;blank on my machine
- dc.l $7ffffc00,$00f00000 ;diagnostic ROM
- dc.l $7ffffc00,$00f40000
- dc.l $7ffffc01,$00f80000 ;ROM
- dc.l $7ffffc01,$00fc0000 ;ROM
-
-
-
-
-